Designer Codecs |
|
![]() |
![]() |
![]() |
![]() |
CodecsObject Motion Vertex Motion Sounds Geometry
What is a codec?
A Designer Codec is a algorithm used to encode a set of objects inside a Cult3D Internet File. The codecs are designed to compress the given objects, and make the internet file as small as possible. The presence of multiple codecs is justified by the fact that each codec has its own peculiarities, and, depending of the situation, one codec may result better than another to reduce the size of the final file.
The codecs.
The codecs are divided into four codecs families:
- Object motion
- Vertex motion
- Sound codecs
- Geometry codecs
Inside each family, we may find codecs which are specifically designed to handle a certain type of object. For instance, many sound codecs are designed to handle a specific type of audio file: the Metasound ACS48, as an example, accepts 22050Hz Stereo audio files only.
Object Motion codecs
This family of codecs is designed to encode the object level animations. Object level animations are sequences of rigid tranformations (translations and rotations). These animations are not necessarily always present, and comes along with the C3D file.
'Wavelet' codec
This codec reduces the size of the object motions by applying a wavelet compression to them. The compression amounts are split into two categories: translations and rotations. A special set of extra controls are associated to the wavelet codec: those comes with two sliders, which regulates the compression amounts. A amount of 100 means no compression at all, while 1 means a very high compression. As higher the compression is, as lower the quality of the animation will be.
Vertex Motion codecs
This family of codecs is designed to encode the vertex level animations. vertex level animations are sequences of movements applied to the vertices of the geometric objects. These animations are not necessarily always present, and comes along with the C3D file.
'Wavelet' codec
This codec reduces the size of the vertex motions by applying a wavelet compression to them. A slider will regulate the compression amount. A amount of 100 means no compression at all, while 1 means a very high compression. As higher the compression is, as lower the quality of the animation will be.
'Optimization' codec
This codec does not compress the sequences of vertex animations, but it discards those segments which are not used by the simulation. This codec is very effective when the simulation uses only 'animation jump to' actions to control the animation of the objects. In the morphball example object, for instance, it is possible to reproduce the original animation sequence by performing a set of animation jumps to some of the animation keyframes. Since the keyframes 'in between' will be interpolated by the Cult3D engine, it won't be necessary to have them wrote in the final Internet File.
Sound codecs
This family of codecs is designed to encode the audio files (sounds). Sounds are not necessarily present in all the simulations. Cult3D may care about the following features, which describes the nature of a audio file: sampling frequency, number of channels.
About audio files and their characteristics
Sound sampling is that process which transforms a real audio waveform into a digital sound. Our audio files are digitally sampled sounds. A analogic to digital sound converter works by sampling the sound wave at regular intervals; those intervals can be defined as how many times in a second the converter samples the sound wave, and transform it into a digital sample. A sampling frequency of 8KHz means that the sound has been sampled 8000 times a second. The higher the sampling rate, the better the quality of the digital sample will be.
The number of channels is the amount which tells us how many channels the sound has been split into during the recording process. Cult3D supports a value of 1 (mono audio file), and 2 (stereo audio file). A stereo sound may have a higher definition of a mono one, but it will surely be as twice bigger.
'None' codec
This codec does not apply any compression to the selected sound(s). Use this when a maximum sound quality is required. Uncompressed sounds will keep their original size.
'Wavelet' codec
This codec reduces the size of the sounds by applying a wavelet compression to them. A slider will regulate the compression amount. A amount of 100 means no compression at all, while 1 means a very high compression. As higher the compression is, as lower the quality of the sound will be.
This codec reduces the size of the sounds by applying a metasound compression to them. The codec is totally automatic, and does not require any extra parameter to be set up by the user. This codec is able in the compress 22050Hz Stereo sounds only. Compression type: 48kbps FM quality, 1024 samples per channel (46.44 ms) resulting in 279 bytes of compressed output per frame.
This codec reduces the size of the sounds by applying a metasound compression to them. The codec is totally automatic, and does not require any extra parameter to be set up by the user. This codec is able in the compress 22050Hz Mono sounds only. Compression type: 24kbps FM quality, 1024 samples (46.44 ms) resulting in 139 bytes plus 4 bits of compressed output per frame.
'Metasound ACS20' codec
This codec reduces the size of the sounds by applying a metasound compression to them. The codec is totally automatic, and does not require any extra parameter to be set up by the user. This codec is able in the compress 11025Hz Stereo sounds only. Compression type: 20kbps AM quality, 512 samples per channel (46.44 ms) resulting in 116 bytes of compressed output per frame.
This codec reduces the size of the sounds by applying a metasound compression to them. The codec is totally automatic, and does not require any extra parameter to be set up by the user. This codec is able in the compress 11025Hz Mono sounds only. Compression type: 10kbps AM quality, 512 samples (46.44 ms) resulting in 58 bytes of compressed output per frame.
'Metasound AC8' codec
This codec reduces the size of the sounds by applying a metasound compression to them. The codec is totally automatic, and does not require any extra parameter to be set up by the user. This codec is able in the compress 8000Hz Stereo sounds only. Compression type: 8kbps AM quality, 512 samples (64 ms) resulting in 64 bytes of compressed output per frame.
This codec is specifically designed for the compression of voice.
Do not try to use this codec with a audio file which contains sound, or voice blended with sound: the result will be terrible. A voice audio file is a audio file which contains only human voice recorded at 8000Hz, 1 channel (mono).
This codec reduces the size of the sounds by applying a metavoice compression to them. The codec is totally automatic, and does not require any extra parameter to be set up by the user. This codec is able in the compress 8000Hz Mono sounds only.
Compression type: 2.4kbps, 180 samples (22.5 ms) resulting in 54 bits of compressed output per frame.
This codec is specifically designed for the compression of voice.
Do not try to use this codec with a audio file which contains sound, or voice blended with sound: the result will be terrible. A voice audio file is a audio file which contains only human voice recorded at 8000Hz, 1 channel (mono).
This codec reduces the size of the sounds by applying a metavoice compression to them. This codec is able in the compress 8000Hz Mono sounds only.
The codec is split into two different subcodecs: SC3 and SC6. It is possible to encode sounds using both, in a scalable way. Three radio buttons, mutually exclusive, will make the user able to select which kind of compression the codec should apply to the sound: SC3, SC6 or SC3+SC6.
SC3 codec compression type: 3.2kbps, 160 samples (20 ms) resulting in 64 bits of compressed output per frame SC6 codec compression type: 6.4kbps, 160 samples (20 ms) resulting in 128 bits of compressed output per frame
Geometry codecs
This family of codecs is designed to encode the geometry of mesh objects.
This codec does not apply any compression to the selected sound(s). Use this when a maximum geometry quality is required. Uncompressed geometries will keep their original size.
This codec reduces the size of the geometries by applying a 'mesh level 2' compression to them. The compression has four possible configurations, which the user can specify by interacting with four corresponding radio buttons. Those configurations are:
- none - gives the same result of the 'none' codec
- low - performs a low compression on the selected geometry/geometries.
- medium - performs a medium compression on the selected geometry/geometries.
- high - performs a high compression on the selected geometry/geometries.
This compression is lossly, which means: the decompressed object will be identical to the one before the compression. However, some little shading/smooth anomalies may be observed on some of the decompressed objects.
Always use the high compression, since with the majority of the objects you'll not see these 'anomalies'. But if you do, then try a lower compression setting.
![]() |
![]() |